[XEN] Show shadow status of vcpus in domain info dump
authorTim Deegan <Tim.Deegan@xensource.com>
Fri, 20 Oct 2006 15:01:49 +0000 (16:01 +0100)
committerTim Deegan <Tim.Deegan@xensource.com>
Fri, 20 Oct 2006 15:01:49 +0000 (16:01 +0100)
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
xen/arch/ia64/xen/xenmisc.c
xen/arch/powerpc/domain.c
xen/arch/x86/domain.c
xen/common/keyhandler.c
xen/include/xen/domain.h

index e9bb00c48059ddb54bbe50b379ad879d7a1b84d4..fceb2bfe29102f2241170899fbb4226a6f2982db 100644 (file)
@@ -165,6 +165,10 @@ void arch_dump_domain_info(struct domain *d)
 {
 }
 
+void arch_dump_vcpu_info(struct vcpu *v)
+{
+}
+
 void audit_domains_key(unsigned char key)
 {
 }
index 29bdd54ba8f3439f635481ed2c713e687202637c..ed52491f1969c3319a305290e190212d20ab2791 100644 (file)
@@ -286,6 +286,10 @@ void arch_dump_domain_info(struct domain *d)
 {
 }
 
+void arch_dump_vcpu_info(struct vcpu *v)
+{
+}
+
 extern void sleep(void);
 static void safe_halt(void)
 {
index be19507d59c6766fbff8a01ee11e6d767429223b..53d22417dc9a5fd6e277d05ade11afe7c9e656d8 100644 (file)
@@ -1003,6 +1003,20 @@ void arch_dump_domain_info(struct domain *d)
     }
 }
 
+void arch_dump_vcpu_info(struct vcpu *v)
+{
+    if ( shadow_mode_enabled(v->domain) )
+    {
+        if ( v->arch.shadow.mode )
+            printk("    shadowed %u-on-%u, %stranslated\n",
+                   v->arch.shadow.mode->guest_levels,
+                   v->arch.shadow.mode->shadow_levels,
+                   shadow_vcpu_mode_translate(v) ? "" : "not ");
+        else
+            printk("    not shadowed\n");
+    }
+}
+
 /*
  * Local variables:
  * mode: C
index e9e2b4d385472b121c13bf40a2d3f3b913d010a7..1486bdf7b5a7a2403c940590aab531b1a421530f 100644 (file)
@@ -173,6 +173,7 @@ static void dump_domains(unsigned char key)
             printk("dirty_cpus=%s ", cpuset);
             cpuset_print(cpuset, sizeof(cpuset), v->cpu_affinity);
             printk("cpu_affinity=%s\n", cpuset);
+            arch_dump_vcpu_info(v);
             printk("    Notifying guest (virq %d, port %d, stat %d/%d/%d)\n",
                    VIRQ_DEBUG, v->virq_to_evtchn[VIRQ_DEBUG],
                    test_bit(v->virq_to_evtchn[VIRQ_DEBUG], 
index e421c8442dca9059af48e7d11d425bad8d32a576..40103e7df5359cb4a71c88b6cb78c965cb41214a 100644 (file)
@@ -29,6 +29,8 @@ void domain_relinquish_resources(struct domain *d);
 
 void dump_pageframe_info(struct domain *d);
 
+void arch_dump_vcpu_info(struct vcpu *v);
+
 void arch_dump_domain_info(struct domain *d);
 
 #endif /* __XEN_DOMAIN_H__ */